import Icon from '@ant-design/icons';
import type { GetProps } from 'antd';

type CustomIconComponentProps = GetProps<typeof Icon>;

const DeleteSvg = () => (
  <svg viewBox="0 0 18 18">
    <title>S Delete 18 N</title>
    <rect id="Canvas" fill="#ff13dc" opacity="0" />
    <path d="M15.75,3H12V2a1,1,0,0,0-1-1H6A1,1,0,0,0,5,2V3H1.25A.25.25,0,0,0,1,3.25v.5A.25.25,0,0,0,1.25,4h1L3.4565,16.55a.5.5,0,0,0,.5.45H13.046a.5.5,0,0,0,.5-.45L14.75,4h1A.25.25,0,0,0,16,3.75v-.5A.25.25,0,0,0,15.75,3ZM5.5325,14.5a.5.5,0,0,1-.53245-.46529L5,14.034l-.5355-8a.50112.50112,0,0,1,1-.067l.5355,8a.5.5,0,0,1-.46486.53283ZM9,14a.5.5,0,0,1-1,0V6A.5.5,0,0,1,9,6ZM11,3H6V2h5Zm1,11.034a.50112.50112,0,0,1-1-.067l.5355-8a.50112.50112,0,1,1,1,.067Z" />
  </svg>
);
const MoveSvg = () => (
  <svg viewBox="0 0 18 18">
    <title>S Move 18 N</title>
    <rect id="Canvas" fill="#ff13dc" opacity="0" width="18" height="18" />
    <path d="M17,9a.25.25,0,0,0-.0565-.158L16,8.0145V8h-.0165L14.927,7.0735A.245.245,0,0,0,14.75,7a.25.25,0,0,0-.25.25V8H10V3.5h.75A.25.25,0,0,0,11,3.25a.24448.24448,0,0,0-.0735-.175L10,2.0165V2H9.9855L9.158,1.0565a.25.25,0,0,0-.316,0L8.0145,2H8v.0165L7.0735,3.073A.24449.24449,0,0,0,7,3.25a.25.25,0,0,0,.25.25H8V8H3.5V7.25A.25.25,0,0,0,3.25,7a.245.245,0,0,0-.175.0735L2.0165,8H2v.0145l-.9435.8275a.25.25,0,0,0,0,.316L2,9.9855V10h.0165l1.0565.926A.24552.24552,0,0,0,3.25,11a.25.25,0,0,0,.25-.25V10H8v4.5H7.25a.25.25,0,0,0-.25.25.24352.24352,0,0,0,.0735.175L8,15.9835V16h.0145l.8275.9435a.25.25,0,0,0,.316,0L9.9855,16H10v-.0165l.9265-1.057A.24349.24349,0,0,0,11,14.75a.25.25,0,0,0-.25-.25H10V10h4.5v.75a.25.25,0,0,0,.25.25.24549.24549,0,0,0,.175-.074L15.9835,10H16V9.9855l.9435-.8275A.25.25,0,0,0,17,9Z" />
  </svg>
);
const InputSvg = () => (
  <svg
    viewBox="0 0 1024 1024"
    version="1.1"
    xmlns="http://www.w3.org/2000/svg"
    p-id="1633"
    width="18"
    height="18"
  >
    <path
      d="M118.784 727.04h778.24V296.96h-778.24v430.08zM77.824 256h860.16v512H77.824V256zM194.56 409.6v204.8c0 12.288 8.192 20.48 20.48 20.48s20.48-8.192 20.48-20.48V409.6c0-12.288-8.192-20.48-20.48-20.48s-20.48 8.192-20.48 20.48z"
      p-id="1634"
    ></path>
  </svg>
);
const NumberSvg = () => (
  <svg viewBox="0 0 1024 1024" version="1.1" p-id="2640" width="18" height="18">
    <path
      d="M896 224H128c-35.2 0-64 28.8-64 64v448c0 35.2 28.8 64 64 64h768c35.2 0 64-28.8 64-64V288c0-35.2-28.8-64-64-64z m0 480c0 19.2-12.8 32-32 32H160c-19.2 0-32-12.8-32-32V320c0-19.2 12.8-32 32-32h704c19.2 0 32 12.8 32 32v384z"
      fill="#333333"
      p-id="2641"
    ></path>
    <path
      d="M291.2 412.8c-12.8 6.4-22.4 12.8-35.2 16v41.6c22.4-6.4 41.6-16 54.4-28.8V640h38.4V393.6H320c-6.4 3.2-19.2 12.8-28.8 19.2zM489.6 560c22.4-16 41.6-28.8 48-38.4 16-16 22.4-38.4 22.4-57.6 0-22.4-6.4-38.4-22.4-54.4-16-12.8-35.2-19.2-57.6-19.2-25.6 0-48 9.6-60.8 25.6-16 16-22.4 38.4-22.4 67.2h38.4c0-19.2 3.2-35.2 12.8-44.8 6.4-9.6 19.2-16 32-16s25.6 3.2 32 9.6c6.4 6.4 9.6 16 9.6 28.8s-6.4 25.6-16 38.4c-6.4 6.4-16 16-32 28.8-28.8 19.2-44.8 35.2-54.4 44.8-16 19.2-22.4 41.6-22.4 64h166.4v-35.2H444.8c6.4-12.8 22.4-25.6 44.8-41.6z m233.6-54.4c25.6-9.6 38.4-25.6 38.4-54.4 0-22.4-6.4-38.4-22.4-51.2-16-12.8-35.2-19.2-57.6-19.2S640 387.2 624 400c-16 12.8-25.6 32-25.6 57.6h38.4c0-16 6.4-25.6 12.8-32 6.4-6.4 19.2-9.6 32-9.6s25.6 3.2 32 9.6c6.4 6.4 9.6 16 9.6 28.8s-3.2 22.4-9.6 28.8c-6.4 6.4-19.2 9.6-32 9.6h-16v28.8h16c16 0 25.6 3.2 35.2 9.6 9.6 6.4 12.8 16 12.8 32 0 12.8-3.2 22.4-12.8 28.8-9.6 9.6-19.2 12.8-35.2 12.8-12.8 0-25.6-3.2-32-12.8-9.6-9.6-12.8-22.4-16-38.4h-38.4c3.2 28.8 12.8 48 28.8 64 16 12.8 35.2 19.2 60.8 19.2 25.6 0 48-6.4 64-22.4 16-16 22.4-32 22.4-54.4 0-16-3.2-25.6-12.8-35.2-9.6-6.4-22.4-16-35.2-19.2z"
      fill="#333333"
      p-id="2642"
    ></path>
  </svg>
);
const TextAreaSvg = () => (
  <svg
    viewBox="0 0 1024 1024"
    version="1.1"
    xmlns="http://www.w3.org/2000/svg"
    p-id="3783"
    width="14"
    height="14"
  >
    <path
      d="M73.142857 0h877.714286c43.885714 0 73.142857 29.257143 73.142857 73.142857v877.714286c0 43.885714-29.257143 73.142857-73.142857 73.142857H73.142857c-43.885714 0-73.142857-29.257143-73.142857-73.142857V73.142857c0-43.885714 29.257143-73.142857 73.142857-73.142857z m36.571429 73.142857c-21.942857 0-36.571429 14.628571-36.571429 36.571429v804.571428c0 21.942857 14.628571 36.571429 36.571429 36.571429h804.571428c21.942857 0 36.571429-14.628571 36.571429-36.571429v-804.571428c0-21.942857-14.628571-36.571429-36.571429-36.571429h-804.571428zM219.428571 219.428571h182.857143v73.142858H219.428571V219.428571z m0 146.285715h182.857143v73.142857H219.428571V365.714286z m0 146.285714h182.857143v73.142857H219.428571V512z m0 146.285714h585.142858v73.142857H219.428571V658.285714z m0 146.285715h585.142858v73.142857H219.428571v-73.142857z m314.514286-321.828572L497.371429 585.142857H438.857143l153.6-365.714286h51.2l153.6 365.714286h-58.514286l-43.885714-102.4H533.942857z m80.457143-197.485714c0 7.314286-21.942857 51.2-58.514286 138.971428h117.028572l-58.514286-138.971428z"
      fill="#333333"
      p-id="3784"
    ></path>
  </svg>
);
const SelectSvg = () => (
  <svg
    viewBox="0 0 1024 1024"
    version="1.1"
    xmlns="http://www.w3.org/2000/svg"
    p-id="4753"
    width="18"
    height="18"
  >
    <path
      d="M858.3 122.1c5.5 0 10 4.5 10 10v756c0 5.5-4.5 10-10 10h-690c-5.5 0-10-4.5-10-10v-756c0-5.5 4.5-10 10-10h690m0-60h-690c-38.7 0-70 31.3-70 70v756c0 38.7 31.3 70 70 70h690c38.7 0 70-31.3 70-70v-756c0-38.7-31.3-70-70-70z"
      p-id="4754"
    ></path>
    <path
      d="M873.6 347H144.5c-16.6 0-30-13.4-30-30s13.4-30 30-30h729.1c16.6 0 30 13.4 30 30 0 16.5-13.5 30-30 30zM768 747H448c-16.6 0-30-13.4-30-30s13.4-30 30-30h320c16.6 0 30 13.4 30 30s-13.5 30-30 30zM347.9 747.8h-80c-16.6 0-30-13.4-30-30s13.4-30 30-30h80c16.6 0 30 13.4 30 30s-13.5 30-30 30zM768 565H448c-16.6 0-30-13.4-30-30s13.4-30 30-30h320c16.6 0 30 13.4 30 30s-13.5 30-30 30zM347.9 565.8h-80c-16.6 0-30-13.4-30-30s13.4-30 30-30h80c16.6 0 30 13.4 30 30s-13.5 30-30 30zM812.4 173h-88.2c-10.4 0-12.9 7-5.5 15.5l36.3 42.1c7.4 8.5 19.3 8.5 26.7 0l36.3-42.1c7.2-8.5 4.8-15.5-5.6-15.5z"
      p-id="4755"
    ></path>
  </svg>
);
const DateSvg = () => (
  <svg
    viewBox="0 0 1024 1024"
    version="1.1"
    xmlns="http://www.w3.org/2000/svg"
    p-id="5785"
    width="18"
    height="18"
  >
    <path
      d="M844.8 409.6h-665.6v100.7616a25.6 25.6 0 0 1-51.2 0V256A76.8 76.8 0 0 1 204.8 179.2h51.2v51.2H204.8a25.6 25.6 0 0 0-25.6 25.6v102.4h665.6V256a25.6 25.6 0 0 0-25.6-25.6h-51.2v-51.2h51.2A76.8 76.8 0 0 1 896 256v563.2a76.8 76.8 0 0 1-76.8 76.8H204.8A76.8 76.8 0 0 1 128 819.2v-181.6576a25.6 25.6 0 0 1 51.2 0V819.2a25.6 25.6 0 0 0 25.6 25.6h614.4a25.6 25.6 0 0 0 25.6-25.6V409.6zM614.4 179.2v51.2H409.6v-51.2h204.8zM332.8 512h51.2a25.6 25.6 0 0 1 0 51.2h-51.2a25.6 25.6 0 0 1 0-51.2z m307.2 0h51.2a25.6 25.6 0 0 1 0 51.2h-51.2a25.6 25.6 0 0 1 0-51.2z m-153.6 0h51.2a25.6 25.6 0 0 1 0 51.2h-51.2a25.6 25.6 0 0 1 0-51.2z m-153.6 153.6h51.2a25.6 25.6 0 0 1 0 51.2h-51.2a25.6 25.6 0 0 1 0-51.2z m307.2 0h51.2a25.6 25.6 0 0 1 0 51.2h-51.2a25.6 25.6 0 0 1 0-51.2z m-153.6 0h51.2a25.6 25.6 0 0 1 0 51.2h-51.2a25.6 25.6 0 0 1 0-51.2z m-153.6-563.2a25.6 25.6 0 0 1 25.6 25.6v153.6a25.6 25.6 0 0 1-51.2 0v-153.6a25.6 25.6 0 0 1 25.6-25.6z m358.4 0a25.6 25.6 0 0 1 25.6 25.6v153.6a25.6 25.6 0 0 1-51.2 0v-153.6a25.6 25.6 0 0 1 25.6-25.6z"
      fill="#2c2c2c"
      p-id="5786"
    ></path>
  </svg>
);
const UploadSvg = () => (
  <svg
    viewBox="0 0 1024 1024"
    version="1.1"
    xmlns="http://www.w3.org/2000/svg"
    p-id="7157"
    width="18"
    height="18"
  >
    <path
      d="M795.694545 395.636364a289.047273 289.047273 0 0 0-567.38909 0 197.585455 197.585455 0 0 0 18.385454 395.636363h30.952727a23.272727 23.272727 0 0 0 0-46.545454H246.690909a151.272727 151.272727 0 1 1-2.327273-302.545455l23.272728 5.352727 3.025454-25.6a242.269091 242.269091 0 0 1 480.814546 0l4.654545 25.134546 23.272727-4.887273a151.272727 151.272727 0 1 1-2.327272 302.545455h-34.909091a23.272727 23.272727 0 0 0 0 46.545454h35.141818a197.585455 197.585455 0 0 0 18.385454-395.636363z"
      p-id="7158"
    ></path>
    <path
      d="M528.523636 480.349091a23.272727 23.272727 0 0 0-33.047272 0l-131.490909 131.490909a23.272727 23.272727 0 0 0 0 33.047273 23.272727 23.272727 0 0 0 32.814545 0L488.727273 552.96V837.818182a23.272727 23.272727 0 0 0 46.545454 0V552.96l93.090909 91.927273a23.272727 23.272727 0 0 0 16.523637 6.749091 23.272727 23.272727 0 0 0 16.290909-39.796364z"
      p-id="7159"
    ></path>
  </svg>
);

export const DeleteIcon = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={DeleteSvg} {...props} />
);
export const MoveIcon = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={MoveSvg} {...props} />
);

export const InputIcon = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={InputSvg} {...props} />
);
export const NumbeIcon = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={NumberSvg} {...props} />
);
export const TextAreaIcon = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={TextAreaSvg} {...props} />
);
export const SelectIcon = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={SelectSvg} {...props} />
);
export const DateIcon = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={DateSvg} {...props} />
);
export const UploadIcon = (props: Partial<CustomIconComponentProps>) => (
  <Icon component={UploadSvg} {...props} />
);
